]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ci: Use custom image for JS checks
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 13 Feb 2019 04:49:37 +0000 (05:49 +0100)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Tue, 26 Feb 2019 21:08:17 +0000 (21:08 +0000)
Running dnf to update and install additional packages every time
the job is executed slows down the CI pipeline. Avoid this by
using another custom images for JS source checks.

In addition to the js shell we use for the existing syntax check,
also include eslint for future jobs and some extension-specific
tooling to make the image more useful to extension authors.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/408

.gitlab-ci.yml
.gitlab-ci/Dockerfile.extension-ci [new file with mode: 0644]

index d02f3eb0b6de5e9215ab3851ee2f3d20e43b7a2a..ea91cec0083c80ebcf1d2b81492f3d302c7fd9da 100644 (file)
@@ -25,10 +25,8 @@ check_commit_log:
         - merge_requests
 
 js_check:
-    image: registry.fedoraproject.org/fedora:latest
+    image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
     stage: source_check
-    before_script:
-        - dnf install -y findutils mozjs60-devel
     script:
         - find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG
         - (! grep -q . $JS_LOG)
diff --git a/.gitlab-ci/Dockerfile.extension-ci b/.gitlab-ci/Dockerfile.extension-ci
new file mode 100644 (file)
index 0000000..2283554
--- /dev/null
@@ -0,0 +1,18 @@
+FROM registry.fedoraproject.org/fedora:latest
+
+RUN dnf -y update && dnf -y upgrade && \
+    dnf install -y 'dnf-command(copr)' && \
+
+    # For syntax checks with `find . -name '*.js' -exec js60 -c -s '{}' ';'`
+    dnf install -y findutils mozjs60-devel && \
+
+    # For static analysis with eslint
+    dnf install -y nodejs && \
+    npm install -g eslint && \
+
+    # Shameless plug for my own tooling; useful for generating zip
+    dnf copr enable -y fmuellner/gnome-shell-ci && \
+    dnf install -y gnome-extensions-tool meson && \
+
+    dnf clean all && \
+    rm -rf /var/cache/dnf